home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-22 | 2.7 KB | 77 lines | [TEXT/MSWD] |
- multi-rnd-ornament
- min max length-list melody
- &key (r-type 'all) (type 'norm)
- (seed nil) (pcnt 100) (step-type 'norm)
- (rnd-type 'norm) (step '(1)) (to-pcnt nil)
-
- legal r-types 'all 'evens 'odds
- legal rnd-types 'gauss 'norm
- legal types 'norm 'rnd
- legal step-types 'norm 'change
-
- this function has similarities with rhythm-ornament
- but lets you simultaneously
- ornament both lengths and symbols.
- length of ornament will be inside min and max.
- it is a combination of multi-ornament and rhythm-ornament
- which you can read more about to understand this function.
- to get only the melodic result use cadr and to get only
- rhythmic result use car
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1)
- ->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (3/32 1/32) (1/32 1/32 1/32 1/32)))
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :r-type 'odds)
- ->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/5 1/5 1/10) (1/10 1/20 1/10) (3/10 1/5) (1/10 1/40) (1/20 1/40 1/40 1/40)))
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :r-type 'evens)
- ->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/8 1/4 1/8) (1/8 1/16 1/16) (1/4 1/4) (3/32 1/32) (1/32 1/32 1/32 1/32)))
-
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :r-type 'all :pcnt 50 :rnd-type 'norm)
- ->(((a -b a) (b a b) (c) (d) (e d c d)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (1/2) (1/8) (1/32 1/32 1/32 1/32)))
-
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :pcnt 10 :to-pcnt 100)
- ->(((a -b a) (b) (c) (d) (e d e d)) ((1/5 1/5 1/10) (1/4) (1/2) (1/8) (1/32 1/32 1/32 1/32)))
-
-
- (multi-rnd-ornament 3 5
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :step '(3 1 5) :step-type 'change :rnd-type 'gauss)
- ->(((a -d -c) (b -c -b) (c -b) (d a) (e b c f)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (3/32 1/32) (1/32 1/32 1/32 1/32)))
-
- min and max can also be lists of integers.
-
- (multi-rnd-ornament '(3 4) '(5 8 9)
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
- :type 'odds :pcnt 100 :rnd-type 'gauss :step '(3 1 5)
- :step-type 'change :to-pcnt 20)
- ->(((a -d -c) (b -c -b) (c f) (d) (e b a d e)) ((1/5 1/5 1/10) (1/10 1/20 1/10) (5/16 3/16) (1/8) (1/28 1/56 1/56 1/28 1/56)))
-
- with step you can change from default 1 which ornaments
- only 1 semitone at the time to 3 or 4 for arpeggio-effects
- or use a list of step-values to vary.
-
- (car (multi-rnd-ornament 5 11
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e)
- :seed 0.1 :step '(1 8)))
- ->((a -b a -b) (b a b) (c b) (d c) (e d e d e))
-
-
- (car (multi-rnd-ornament 5 11
- '(1/2 1/4 1/2 1/8 1/8) '(a b c d e)
- :seed 0.1 :step '(1 8) :type 'rnd))
- ->((a b c d) (b c c) (c d) (d e) (e e f g h))
-
-
-